package com.ruoyi.kycinfo.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import org.w3c.dom.stylesheets.LinkStyle;

import java.util.Date;
import java.util.List;

/**
 * @author : 张二胖
 * @DESCRIPTION :   kyc信息管理 部分 接受检索数据的dto类
 * @date : 2023/11/3 16:34
 */

@Data
@ApiModel("KycUserInfoFilterDTO类")
public class KycUserInfoFilterDTO {

    /*
     * 客户标签
     * */
    private String label;

    /*
    * 用户昵称  -- 银行用户的用户昵称
    * */
    private String nickName;

    /*
     *  KycUserInfo实体类的字段
     * */


    /**
     * kyc_user_info主键id
     */
    private Long userInfoId;

    private List<Long> userInfoIdList;

    /**
     * user_id 列表
     */
    @Excel(name = "user_id")
    private Long userId;

    /**
     * 姓名
     */
    @Excel(name = "姓名")
    private String name;

    /**
     * 性别 男 女
     */
    @Excel(name = "性别")
    private String gender;

    /**
     * 年龄区间
     * 30岁以下
     * 30-50岁
     * 50-60岁
     * 60-70岁
     * 70岁以上
     */
    @Excel(name = "年龄")
    private String age;

    /**
     * 是否已加微信   是/否
     */
    @Excel(name = "是否已加微信")
    private String weChat;

    /**
     * 方便联系时间
     */

    private String contactTime;

    /**
     * 籍贯
     */
    @Excel(name = "籍贯")
    private String nativePlace;

    /**
     * 客户类型：初出茅庐/事业刚刚起步/事业小有成就/中年富有/退休富有/退休不富有/学生/家庭主妇/其他
     */
    @Excel(name = "客户类型")
    private List<String> clienType;

    /**
     * 婚姻状况：已婚/再婚/未婚/丧偶/其他
     */
    @Excel(name = "婚姻状况")
    private String marriage;

    /**
     * 教育程度：国内/国外/硕士及以上/本科/专科及以下
     */
    @Excel(name = "教育程度")
//    private String educationStr;

    private List<String> education;

    /**
     * 核心商品房数量
     */
    @Excel(name = "核心商品房数量")
    private String houseCount;

    /**
     * 核心商品房来源：父母购置/自购无贷款/自购有贷款/公积金贷款/商业贷款/组合贷
     */
    @Excel(name = "核心商品房来源")
    private List<String> houseSource;

    /**
     * （第一套）房产性质：高层住宅/多层洋房/别墅/门市
     */
    @Excel(name = "房产1性质")
    private String hosueType1;

    /**
     * （第一套）小区名称
     */
    @Excel(name = "小区1名称")
    private String houseAddress1;

    /**
     * （第二套）房产性质：高层住宅/多层洋房/别墅/门市
     */
    @Excel(name = "房产2性质")
    private String hosueType2;

    /**
     * （第二套）小区名称
     */
    @Excel(name = "小区2名称")
    private String houseAddress2;

    /**
     * 汽车数量
     */
    @Excel(name = "汽车数量")
    private String carCount;

    /**
     * 汽车来源：全款/贷款
     */
    @Excel(name = "汽车来源")
    private String carSource;

    /**
     * 汽车种类：吉普/轿车/其他
     */
    @Excel(name = "汽车种类")
    private String carType;

    /**
     * 汽车品牌
     */
    @Excel(name = "汽车品牌")
    private String carBrank;

    /**
     * 家庭病史
     */
    @Excel(name = "家庭病史")
    private String medicalHistory;

    /**
     * 饮食习惯
     */
    @Excel(name = "饮食习惯")
    private String dietaryHabit;

    /**
     * 锻炼方式
     */
    @Excel(name = "锻炼方式")
    private String exerciseMethod;

    /**
     * 兴趣爱好
     */
    @Excel(name = "兴趣爱好")
    private String hobby;

    /**
     * 生活需求
     */
    @Excel(name = "生活需求")
    private String livingNeed;

    /**
     * 消费习惯
     */
    @Excel(name = "消费习惯")
    private String consumeHabit;

    /**
     * 脾气性格
     */
    @Excel(name = "脾气性格")
    private String temper;

    /**
     * 出行方式
     */
    @Excel(name = "出行方式")
    private String tripMode;

    /**
     * 信仰
     */
    @Excel(name = "信仰")
    private String belief;


    /*
     * 工作与学习情况实体类字段
     * */

    /**
     * 单位名称
     */
    @Excel(name = "单位名称")
    private String companyName;

    /**
     * 单位地址
     */
    @Excel(name = "单位地址")
    private String address;

    /**
     * 出差情况：是/否
     */
    @Excel(name = "出差情况")
    private String evection;

    /**
     * 出差地点
     */
    @Excel(name = "出差地点")
    private String evectionPlace;

    /**
     * 任职部门
     */
    @Excel(name = "任职部门")
    private String department;

    /**
     * 职务
     */
    @Excel(name = "职务")
    private String companyPost;

    /**
     * 岗位级别：单位负责人/部门负责人/科室负责人/一般员工
     */
    @Excel(name = "岗位级别")
    private String level;

    /**
     * 持有因公护照：是/否
     */
    @Excel(name = "持有因公护照")
    private String passport;

    /**
     * 曾去过哪里  填写字段
     */
    @Excel(name = "曾去过哪里")
    private String haveBeen;

    /**
     * 单位性质：机关单位/国有/外企/民营/个体私营/其他
     */
    @Excel(name = "单位性质")
    private String companyNature;

    /**
     * 持有签证或曾经去过：美国/加拿大/英国/澳大利亚/新西兰/申根/日本/韩国/其他
     */
    @Excel(name = "持有签证或曾经去过")
    private List<String> country;

    /**
     * 工作经历
     */
    @Excel(name = "工作经历")
    private String workExperience;

    /**
     * 生活或人生阅历
     */
    @Excel(name = "生活或人生阅历")
    private String life;

    /**
     * 备注
     */
    @Excel(name = "备注")
    private String companyRemark;

    /*
     * 金融产品覆盖情况实体类字段
     * */

    @Excel(name = "客户风险评估情况")
    private String risk;

    /**
     * 重点交叉产品：
     * 活期
     * 定期
     * T+0
     * 理财
     * 基金
     * 保险
     * 贵金属
     * 手机银行
     * 证书版网银
     * 信用卡
     * 个贷
     * 三方存管
     * 代发工资
     */
    @Excel(name = "重点交叉产品")
    private List<String> keyProduct;

    /**
     * 在我行是否有贷款
     * 无/有
     */
    @Excel(name = "在我行是否有贷款")
    private String myLoan;

    /**
     * 贷款原因：
     * 一手房按揭1
     * 二手房按揭2
     * 房抵贷3
     * 公积金网贷4
     * 出国留学贷款5
     * 其他贷款6
     */
    @Excel(name = "在我行贷款原因")
    private List<String> myLoanReason;

    /**
     * 在他行是否有贷款
     * 无/有
     */
    @Excel(name = "在他行是否有贷款")
    private String otherLoan;

    /**
     * 贷款原因：
     * 一手房按揭1
     * 二手房按揭2
     * 房抵贷3
     * 公积金网贷4
     * 出国留学贷款5
     * 其他贷款6
     */
    @Excel(name = "在他行贷款原因")
    private List<String> otherLoanReason;

    /**
     * 信用卡张数
     */
    @Excel(name = "信用卡张数")
//    private Integer creditCardCount;  // 使用整型
    private String creditCardCount;   // 使用数字范围

    /**
     * 卡基类别
     */
    @Excel(name = "卡基类别")
    private String creditCardType;

    /**
     * 主要在用他行卡情况
     */
    @Excel(name = "主要在用他行卡情况")
    private String situation;

    /**
     * 关注点
     */
    @Excel(name = "信用卡关注点")
    private List<String> focus;

    /**
     * 借记卡类别：
     * 普卡1
     * 金卡2
     * 白金卡3
     * 钻石卡4
     * 其他5
     */
    @Excel(name = "借记卡")
    private String debitCardType;

    /**
     * 他行卡主办行
     */
    @Excel(name = "他行卡主办行")
    private String otherBank;

    /**
     * 是否借贷关联：
     * 是/否
     */
    @Excel(name = "是否借贷关联")
    private String loanRelevant;

    /**
     * 绑定情况：
     * 微信1
     * 支付宝2
     */
    @Excel(name = "绑定情况")
    private String bind;

    /**
     * 支付绑定银行卡机构
     */
    @Excel(name = "支付绑定银行卡机构")
    private String bindInstitution;

    /**
     * 存款类型：
     * 活期
     * 定期
     * 结构性
     * 其他
     */
    @Excel(name = "存款")
    private List<String> depositType;

    /**
     * 理财类型：
     * 预期收益型
     * 净值型
     * T+0理财
     */
    @Excel(name = "理财")
    private List<String> moneyManage;

    /**
     * 信托等其他代销产品
     * 是/否
     */
    @Excel(name = "信托等其他代销产品")
    private String trust;

    /**
     * 基金：
     * 货币型1
     * 混合型2
     * 指数型3
     * 股票型4
     * 私募5
     * 其他6
     */
    @Excel(name = "基金")
    private List<String> fund;

    /**
     * 保险：
     * 期缴费型1
     * 泵缴型2
     * 年金型3
     * 分红型4
     * 重疾型5
     * 其他6
     */
    @Excel(name = "保险")
    private List<String> insurance;

    /**
     * 已持有保险产品保险公司
     */
    @Excel(name = "已持有保险产品保险公司")
    private String insuranceCompany;

    /**
     * 贵金属：
     * 收藏类投资型1
     * 饰品型2
     */
    @Excel(name = "贵金属")
    private String nobleMetal;

    /**
     * 偏爱活动主题：
     * 财富管理1
     * 亲子教育2
     * 健康管理3
     * 文艺活动4
     * 体育运动5
     * 升学留学6
     * 形象提升7
     * 专业咨询8
     * 其他9
     */
    @Excel(name = "偏爱活动主题")
    private List<String> activity;

    /**
     * 金融产品覆盖情况备注
     */
    @Excel(name = "金融产品覆盖情况备注")
    private String productRemark;
}
